From a0649ba6c2ac1ad3ef7b9d91df21e95aabaddbe2 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 18 Aug 2005 14:26:36 +0000 Subject: [PATCH] Clean up formatting of Xen crash messages. Signed-off-by: Keir Fraser --- xen/arch/x86/traps.c | 4 +--- xen/arch/x86/x86_32/traps.c | 3 ++- xen/arch/x86/x86_64/traps.c | 3 ++- xen/drivers/char/console.c | 20 +++++++++----------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 38970c6a8b..af33455ca2 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -159,10 +159,8 @@ void show_trace(unsigned long *esp) addr = *stack++; if ( is_kernel_text(addr) ) { - if ( (i != 0) && ((i % 6) == 0) ) - printk("\n "); printk("[<%p>]", _p(addr)); - print_symbol(" %s\n", addr); + print_symbol(" %s\n ", addr); i++; } } diff --git a/xen/arch/x86/x86_32/traps.c b/xen/arch/x86/x86_32/traps.c index e6e8a11141..c346a77d45 100644 --- a/xen/arch/x86/x86_32/traps.c +++ b/xen/arch/x86/x86_32/traps.c @@ -66,7 +66,8 @@ void show_registers(struct cpu_user_regs *regs) printk("CPU: %d\nEIP: %04lx:[<%08lx>]", smp_processor_id(), (unsigned long)0xffff & regs->cs, eip); - print_symbol(" %s\n", eip); + if ( !GUEST_MODE(regs) ) + print_symbol(" %s\n", eip); printk("EFLAGS: %08lx CONTEXT: %s\n", eflags, context); printk("eax: %08x ebx: %08x ecx: %08x edx: %08x\n", regs->eax, regs->ebx, regs->ecx, regs->edx); diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index c40a04359e..98bfd4c6f7 100644 --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -17,7 +17,8 @@ void show_registers(struct cpu_user_regs *regs) { printk("CPU: %d\nEIP: %04x:[<%016lx>]", smp_processor_id(), 0xffff & regs->cs, regs->rip); - print_symbol(" %s\n", regs->rip); + if ( !GUEST_MODE(regs) ) + print_symbol(" %s\n", regs->rip); printk("EFLAGS: %016lx\n", regs->eflags); printk("rax: %016lx rbx: %016lx rcx: %016lx rdx: %016lx\n", regs->rax, regs->rbx, regs->rcx, regs->rdx); diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index 84bad115ea..22524db86e 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -652,8 +652,9 @@ __initcall(debugtrace_init); void panic(const char *fmt, ...) { va_list args; - char buf[128], cpustr[10]; + char buf[128]; unsigned long flags; + static spinlock_t lock = SPIN_LOCK_UNLOCKED; extern void machine_restart(char *); debugtrace_dump(); @@ -665,16 +666,13 @@ void panic(const char *fmt, ...) debugger_trap_immediate(); /* Spit out multiline message in one go. */ - spin_lock_irqsave(&console_lock, flags); - __putstr("\n****************************************\n"); - __putstr("Panic on CPU"); - sprintf(cpustr, "%d", smp_processor_id()); - __putstr(cpustr); - __putstr(":\n"); - __putstr(buf); - __putstr("****************************************\n\n"); - __putstr("Reboot in five seconds...\n"); - spin_unlock_irqrestore(&console_lock, flags); + spin_lock_irqsave(&lock, flags); + printk("\n****************************************\n"); + printk("Panic on CPU %d:\n", smp_processor_id()); + printk(buf); + printk("****************************************\n\n"); + printk("Reboot in five seconds...\n"); + spin_unlock_irqrestore(&lock, flags); watchdog_disable(); mdelay(5000); -- 2.30.2